#define _CRT_SECURE_NO_WARNINGS 1
#include <cstdio>
#include <iostream>
#include <string>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define ll long long


//int n;
//int main() {
//	scanf("%d", &n);
//	int	tmp = n / 2;
//	printf("%d\n", n + tmp);
//	return 0;
//}
//int n;
//ll a[15][15];
//int main() {
//    cin >> n;
//    for (int i = 1; i <= n; i++) {
//        for (int j = 1; j <= n; j++) {
//            cin >> a[i][j];
//        }
//    }
//    bool flag = true;
//    for (int i = n; i > 1; i--) {
//        for (int j = i - 1; j >= 1; j--) {
//            if (a[i][j] != 0) {
//                flag = false;
//                break;
//            }
//        }
//        if (!flag)break;
//    }
//    if (flag) printf("YES\n");
//    else printf("NO\n");
//    return 0;
//}
//int n, m, tmp;
//int a[20][20];
//int main() {
//    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//    cin >> n >> m;
//    for (int i = 1; i <= n; i++) {
//        for (int j = 1; j <= n; j++) {
//            cin >> a[i][j];
//        }
//    }
//    bool flag = true;
//    for (int i = 1; i <= n; i++) {
//        for (int j = 1; j <= n; j++) {
//            cin >> tmp;
//            if (a[i][j] != tmp) flag = false;
//        }
//    }
//    if (flag) printf("Yes\n");
//    else printf("No\n");
//    return 0;
//}
bool cmp(int a, int b)
{
	if ((a & 1) != (b & 1))
		return a % 2 > b % 2;
	else return a < b;
}

int main() {
	int a[15];
	for (int i = 1; i <= 10; i++)
		a[i] = i;
	sort(a + 1, a + 1 + 10, cmp);
	for (int i = 1; i <= 10; i++)
	{
		cout << a[i] << ' ';
	}
	return 0;
}